With the improvement of digital signal processing, finite field operations have been adopted in many applications such as error correction systems, switching systems, cryptography systems, and the like. In such systems, it is necessary to employ an error control scheme in order to increase the transfer rate of information and at the same time maintain a low error rate. A finite field is a finite set of binary numbers used, for instance, to correct errors during transmission of data which are encoded into error correction codes such as Reed-Solomon, Bose-Chaudhuri-Hocquenghem (BCH) codes, or the like. Specifically, the Galois field GF(2.sup.m), a particular type of finite field, has been the most widely used in the above-described application fields.
For example, in order to calculate correction coefficients in a Reed-Solomon decoder in which finite Galois field operations are performed, it is necessary to calculate a ratio A/B, where A and B are numbers calculated by the decoder and which may have arbitrary values. For this division, A is generally multiplied by the inverse of B. In such a decoder, it is thus required to produce the inverse of an arbitrary primitive element.
The inverse (.alpha..sup.i).sup.-1 of a primitive element (.alpha..sup.i) of the Galois field GF(2.sup.m) (where, m denotes the number of elements or code length) is represented as: EQU (.alpha..sup.i).sup.-1 =.alpha..sup.n-i (1)
where, n=2.sup.m -1.
For example, in GF(2.sup.8), the inverse of a primitive element .alpha..sup.2, i.e., (.alpha..sup.2).sup.-1 =.alpha..sup.255-2 =.alpha..sup.253.
One of the most common methods of performing element inversion in GF(2.sup.m) is the use of a look-up table which consists of a Read Only Memory (ROM) as shown in FIG. 1. The technique using a ROM is disclosed in Kuang Yung Lin, "Architecture for VLSI Design of Reed-Solomon Decoders", IEEE Transactions on Computers, Vol. C-33, No. 2, pp. 178-189, Feb. 1984. The ROM stores, in advance, the inverses of all elements in GF(2.sup.m). An arbitrary primitive element .alpha..sup.i, or equivalent, is applied to the input of the ROM as an address so that its inverse (.alpha..sup.i).sup.-1 is outputted from the ROM. Here, the inverse stored in the ROM, as well as the address, consists of m bits, and thus the size of the ROM is 2.sup.m .times.m.
However, the use of a ROM may be unsuitable for integration with other processing circuits, given the existing normal techniques for designing integrated circuits. With these techniques, the ROM may be located outside an area where the other elements of the processing circuits are integrated. In addition, if the number of bits of an element in GF(2.sup.m) (i.e., m) increases, the required memory size will increase by a geometric progression. Although a ROM occupies a relatively small area, this geometric progression prevents reduction of the circuit size.